﻿#pragma once


#include "Containers/Vector.h"
#include "Containers/ThreadSafePtr.h"
#include "Material/ShaderStage.h"

class CWriteInShader;

//render shader managed by RShader
class CRenderShader
{

public:
    CRenderShader();

    void SetShaderData(TVector<uint8_t> InShaderData, EShaderStage InShaderStage);

    TThreadSafeSharedPtr<CWriteInShader> GetWriteInShader() const
    {
        return WriteInShader;
    }
protected:
    TThreadSafeSharedPtr<CWriteInShader> WriteInShader;
};